Conventional digital video recorder (DVR) functionality uses a scheduler. A scheduler comprises functionality which coordinates the recordation of media programs. The scheduler performs this task by creating a schedule and then recording media programs identified in the schedule. More specifically, the schedule includes entries which identify the respective media programs. The entries include timing-related information and other data which governs the recording of the corresponding media programs.
Occasionally, a user attempts to add an entry to the schedule which conflicts with one or more pre-existing entries. For example, consider the case in which a client device employs a conventional physical tuner to receive media information from a head-end source. This tuner can only tune to and receive one media program at any given time (e.g., by tuning to a prescribed frequency that carries the media program). Thus, if the user adds an entry to the schedule which identifies a media program which temporally overlaps the airing of another media program, then a conflict is created, because the tuner cannot tune to and receive two media programs at one time. The scheduler can resolve this conflict by alerting the user to the conflict and requesting the user to select either of the conflicting media programs.
A more complex client device can employ multiple physical tuners. This allows the client device to receive multiple media programs at the same time. In one case, these tuners can be implemented as the same kind of unit. In another case, these tuners can be implemented as two or more different kinds of units; for example, a first class of tuners can be used to receive a first kind of media program (such as standard definition media programs), while a second kind of tuner can be used to receive a second kind of media program (such as high definition media programs). Conflict resolution for these types of client devices is more complex than the single-tuner case, but does not fundamentally depart from the basic paradigm used by the single-tuner case. Namely, the scheduler determines whether, at any given time, the client device can provide enough physical tuners to record all of the media programs identified in the schedule. If, at any given time, the number of media programs to be recorded exceeds the number of available tuners, then a conflict exists. The scheduler may attempt to resolve the conflict in the manner specified above, that is, by alerting the user to the conflict and prompting the user to eliminate one or more entries in the schedule to remove the assessed conflicts.
The assignee of the present invention is developing client devices which depart from the traditional model discussed above. A client device of this variety employs virtual tuner functionality. The virtual tuner functionality allocates a variable number of virtual tuners to receive a variable number of digital media programs by “tuning” to these streams in a unicast and/or multicast fashion. For example, suppose that the client device is allocated a total of 6 bandwidth units to receive media information. Further assume that each standard definition media program consumes 1 unit of bandwidth and each high definition media program consumes 2 units of bandwidth. This means that the virtual tuner functionality can employ any combination of standard definition and high definition media programs so long as the total consumed bandwidth does not exceed 6 units. For example, one possibility is that the client device allocates 6 virtual tuners to receive 6 standard definition media programs. Another possibility is that the client device devotes 3 virtual tuners to receive 3 corresponding high definition media programs. Another possibility is that the client device devotes 2 virtual tuners to receive 2 high definition media programs and 2 virtual tuners to receive 2 standard definition media programs, and so forth. Exemplary technology for implementing such a client device is described, for example, in commonly assigned U.S. patent application Ser. No. 11/057,477, entitled, “TUNERLESS MEDIA PRESENTATION UNIT AND METHODS OF USE,” naming inventors David L. de Heer et al., filed on Feb. 14, 2005. This patent application is incorporated by reference herein in its entirety.
Conflict resolution is more complex in a client device that employs virtual tuner functionality. This is because the client device is constrained by the total amount of available bandwidth, rather than the total number available physical tuners. This allows for many more degrees of freedom in creating and modifying a schedule compared to the traditional scheduling paradigm described above. For example, any event that consumes a portion of the available bandwidth can potentially cause a conflict in a schedule, and a change made to one part of the schedule can propagate through the schedule, mandating that potentially complex changes be made to other entries in the schedule.
There is therefore an exemplary need in the art to provide conflict resolution strategies for client devices that receive media programs using virtual tuner functionality.